/**
 * Created by 1 on 2016/12/9.
 */
/**
 * 常量:停止状态
  * @type {number}
 */
var STOP = 0;
/**
 * 常量:飞行状态
 * @type {number}
 */
var START = 1;

/**
 * 飞船类
 * @param orbit 所在轨道
 * @constructor
 */
function SpaceShip(orbit) {
	var obj = {
		//所在轨道
		_orbit : orbit,
		//动力系统
		drive:{
			//飞行
			start:function () {

			},
			//停止
			stop:function () {

			},
			//由宇宙管理员操作的飞行功能
			_fly:function () {

			}
		},
		//能源系统
		energy:{
			/**
			 * 能源添加与消耗
			 * @param num 添加量
			 */
			add:function (num) {
				obj._energy += num;
				if(obj._energy > 100){
					obj._energy = 100;
				}
			},
			consume:function (num) {
				if(obj._status == START){
					obj._energy -= num
				}
				if(obj._energy <= 0){
					obj._status = STOP;
					obj._energy = 0;
				}
			},
			//取得当前的能源值
			get:function () {
				return obj._energy;
			}
		},
		//信号系统
		telegraph:{
			sendMessage:function (message) {
				//检测消息是否是发送给自己的
				if (message.id != obj._orbit){
					return;//若不是，则不发生消息，直接返回
				}
				switch (message){
					case 'start':
						obj.drive.start();
						break;
					case  'stop':
						obj.drive.stop();
						break;
					case 'destroy':
						obj.destroy.destroy();
						break;
					case 'rate':
						obj._rate = message.value;
						break;
				}
			}
		},
		destroy: {
			//销毁自身
			destroy:function () {
				obj._destroyed = true;
			}
		},
	//当前状态
	_status:STOP,
	//当前能源
	_energy:100,
	//已结销毁
	_destroyed:false,
	//速度
	_rate:1,
	//所在位置(旋转角度)
	_angle:0
	};
	return obj;
}
